package com.shujia.scala

object Demo18Implicit {
  def main(args: Array[String]): Unit = {
    /**
      * 隐式转换变量
      *
      */

    def fun(name: String)(pro: String): String = {
      pro + "|" + name
    }

    val str = fun("张三")("函数柯里化华")
    println(str)


    //隐式转换变量  和变量名无关   和变量类型有关
    //同一个作用域里面不能有多个类型一样的隐式转换变量
    implicit val s: String = "隐式转换变量"

    def fun1(name: String)(implicit pro: String): String = {
      pro + "|" + name
    }

    val str1 = fun1("李四")
    val str2 = fun1("王五")

    println(str1)
    println(str2)


  }
}
